package com.caocaog.market.finance.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.caocaog.market.modules.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @author liguang
 * @version 1.0.0
 * @Project jeecg-boot
 * @Package com.caocaog.market.finance.entity
 * @ClassName MkBillLineHistory.java
 * @createTime 2021年12月03日 17:58:00
 * @Description 账务——账单行历史记录表
 */
@Data
@Accessors(chain = true)
@TableName("mk_bill_line_history")
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="账务模块账单行历史记录表", description="账务模块账单行历史记录表")
@AllArgsConstructor
@NoArgsConstructor
public class MkBillLineHistory extends BaseEntity {
    /**
     * 提成比例（门店没有抽成比例，存：1 - 总部抽成比例 - 分站抽成比例）
     */
    @ApiModelProperty(value="抽成比例")
    private String rakeRate;
    @ApiModelProperty(value="抽成金额")
    private String rakeAmount;
    @ApiModelProperty(value = "抽成人姓名")
    private String rakeAliname;
    @ApiModelProperty(value = "抽成人支付宝账号")
    private String rakeAlipay;
    /**
     * 抽成人对应的单位id，主要是指分站id（关联mk_site_basic表中的id字段）；总部的抽成该字段存0（代表总部）
     */
    @ApiModelProperty(value = "抽成人单位id")
    private String rakeUserId;
    /**
     * （1系统、2分站、3门店）
     */
    @ApiModelProperty(value = "抽成各方类型")
    @Dict(dicCode = "bill_line_type")
    private int type;

    @ApiModelProperty(value = "备注")
    private String mark;

    /**
     * 关联mk_bill_line表中的id
     */
    @ApiModelProperty(value = "关联MkBillLine对象")
    private String billLineId;

    @ApiModelProperty(value = "订单号，对应MkBillBase对象中的orderNo")
    private String orderNo;

    @ApiModelProperty(value = "账单id，对应MkBillBase对象中的id")
    private String billBaseId;

    @ApiModelProperty(value = "提现状态，提现状态（1待提现、2已提出提现申请待总部审核、3提现申请审核通过待转账、4提现申请被驳回、5已提现）")
    @Dict(dicCode = "bill_withdraw_cash_status")
    private Integer withdrawCashStatus;

    @ApiModelProperty(value="当提现状态为“4提现申请被驳回”时填写的原因")
    private String withdrawRejectReason;
    @ApiModelProperty(value="提现审核时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date withdrawApplyCheckTime;
    @ApiModelProperty(value="提现成功时的支付宝订单号")
    private String aliOrderNo;
    @ApiModelProperty(value="提现时的支付宝返回的回调信息")
    private String aliRelt;

    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value="申请提现时间")
    private Date withdrawTime;

    @ApiModelProperty("批量审核单号")
    private String auditNo;




}
